# __init__.py 初始化文件创建Flask应用
import pymysql

from .exts import  init_exts
from flask import Flask
from . import *
from .views import blus

def create_app():
    app = Flask(__name__)
    # 注册蓝图
    app.register_blueprint(blueprint=blus)
    # MySQL所在主机名，默认127.0.0.1
    HOSTNAME = "127.0.0.1"
    # MySQL监听的端口号，默认3306
    PORT = 3306
    # 连接MySQL的用户名，自己设置
    USERNAME = "root"
    # 连接MySQL的密码，自己设置
    PASSWORD = "123456"
    # MySQL上创建的数据库名称
    DATABASE = "bs_python_paper_analysis"
    # 通过修改以下代码来操作不同的SQL比写原生SQL简单很多 --》通过ORM可以实现从底层更改使用的SQL
    app.config[
        'SQLALCHEMY_DATABASE_URI'] = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4"
    # 初始化插件
    init_exts(app=app)
    return  app